package com.example.vault.annotation;

import com.example.vault.config.DynamicDataSource;

import java.lang.annotation.*;

/**
 * 数据源注解
 * 用于标识方法或类使用的数据源类型
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataSource {
    
    /**
     * 数据源类型
     * 默认使用主库
     */
    DynamicDataSource.DataSourceType value() default DynamicDataSource.DataSourceType.MASTER;
    
    /**
     * 数据库名称
     * 用于区分不同的业务数据库
     */
    String database() default "transaction";
}